package com.yb.bussiness.goods;

import java.util.List;
import java.util.Map;

import com.yb.domain.goods.TgGoods;
import com.yb.util.framework.PageUtil;

public interface GoodsService {
	/**
	 * 删除商品
	 * 
	 * @param id
	 */
	public void delGoods(Long id);

	/**
	 * 修改或增加商品
	 * 
	 * @param menu
	 */
	public void saveOrUpdate(TgGoods menu);

	/**
	 * 查看商品
	 * 
	 * @param id
	 * @return TgGoods
	 */
	public TgGoods read(Long id);

	/**
	 * 修改商品
	 * 
	 * @return List<TgGoods>
	 */
	public List<TgGoods> findAll();

	/**
	 * 根据条件得到记录
	 * 
	 * @param map
	 * @param page
	 * @param row
	 * @return
	 */
	public PageUtil getList(Map<String, String> map, int page, int row);

	/**
	 * 得到记录总条数
	 * 
	 * @param map
	 * @return
	 */
	public int getCount(Map<String, String> map);

	/**
	 * 删除
	 * 
	 * @param id
	 * @return
	 */
	public boolean deleteById(String id);
	
	public boolean checkDel(String id);

	/**
	 * 批量删除
	 * 
	 * @param idString
	 * @return
	 */
	public boolean deleteByIdString(String idString);

	/**
	 * 根据id得到商品
	 * 
	 * @param id
	 * @return
	 */
	public TgGoods getById(String id);

	public List findByGoodsId(String value1, String value2);

	/**
	 * 查找最热门的特价商品
	 * 
	 * @param categoryId
	 * @param start
	 * @param limit
	 * @return
	 */
	public List<TgGoods> findHotList(Long categoryId, int start, int limit);

	/**
	 * 根据种类id(二级菜单)，类别id查找相应的拼抢信息（分页）
	 * 
	 * @param categoryId
	 * @param typeId
	 * @param page
	 * @param limit
	 * @return
	 */
	public PageUtil findGoodsByCategoryIdORTypeId(Long categoryId, Long typeId,
			int page, int limit);

	public PageUtil findGoodsByCategoryIdORTypeId(Long categoryId, Long typeId,
			int page, int limit, Long marketId);

	/**
	 * 根据种类id(一级级菜单)，类别id查找相应的拼抢信息（分页）
	 * 
	 * @param categoryId
	 * @param typeId
	 * @param page
	 * @param limit
	 * @return
	 */
	public PageUtil findGoodsByCategoryId(Long categoryId, int page, int limit,
			boolean index);

	/**
	 * 通过种类id或者类别id查找其所有参与拼抢人数
	 * 
	 * @param categoryId
	 * @param typeId
	 * @return
	 */
	public Integer findGoodsCount(Long categoryId, Long typeId);

	/**
	 * 通过商品Id其所有参与拼抢人数
	 * 
	 * @param categoryId
	 * @param typeId
	 * @return
	 */
	public Integer findGoodsCount(Long goodId);

	/**
	 * 修改商品的权重信息
	 * 
	 * @param goodId
	 * @param weights
	 */
	public void modifyGoodsWeight(Long goodId, Integer weights);

	public boolean updateAutingId(String idStr, String autding);

	public PageUtil searchGoods(String name, int page, int limit);

}
